From: tholam Date: Sun, 1 Dec 2013 00:49:21 +0000 (-0600) Subject: Set site logo url in ResourceLoaderSiteModule instead of inline styles X-Git-Tag: 1.31.0-rc.0~13817^2~1 X-Git-Url: http://git.cyclocoop.org/%22.%24match%5B1%5D.%22?a=commitdiff_plain;h=efe0169c591d4987872143a3760228a694af33c4;p=lhc%2Fweb%2Fwiklou.git Set site logo url in ResourceLoaderSiteModule instead of inline styles Requires skins to use the 'mw-wiki-logo' class on the logo element for the styles to apply. This is backwards compatible with skins not using that class and using inline styles instead. Bug: 56257 Change-Id: I89e32fcd27c9f07e889aa5b67d7d97d06b412aea --- diff --git a/RELEASE-NOTES-1.25 b/RELEASE-NOTES-1.25 index c935ffeb39..c8bea32a6c 100644 --- a/RELEASE-NOTES-1.25 +++ b/RELEASE-NOTES-1.25 @@ -27,6 +27,8 @@ changes to languages because of Bugzilla reports. removed. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery for migration guide for creators and users of custom skins that relied on it. * Javascript variable 'wgFileCanRotate' now only available on Special:Upload. +* (bug 56257) Set site logo url in ResourceLoaderSiteModule instead of inline + styles in the HTML output. == Compatibility == diff --git a/includes/resourceloader/ResourceLoaderSiteModule.php b/includes/resourceloader/ResourceLoaderSiteModule.php index 1d9721aa7a..6de3d733b8 100644 --- a/includes/resourceloader/ResourceLoaderSiteModule.php +++ b/includes/resourceloader/ResourceLoaderSiteModule.php @@ -53,6 +53,49 @@ class ResourceLoaderSiteModule extends ResourceLoaderWikiModule { /* Methods */ + /** + * @param $context ResourceLoaderContext + * @return array + */ + public function getStyles( ResourceLoaderContext $context ) { + global $wgLogo; + + $styles = parent::getStyles( $context ); + $styles['all'][] = '.mw-wiki-logo { background-image: ' . + CSSMin::buildUrlValue( $wgLogo ) . + '; }'; + + return $styles; + } + + /** + * @param $context ResourceLoaderContext + * @return boolean + */ + public function isKnownEmpty( ResourceLoaderContext $context ) { + // Regardless of whether the wiki page(s) exist, we always + // provide mw-wiki-logo styles. + return false; + } + + /** + * @param $context ResourceLoaderContext + * @return int|mixed + */ + public function getModifiedTime( ResourceLoaderContext $context ) { + $parentMTime = parent::getModifiedTime( $context ); + return max( $parentMTime, $this->getHashMtime( $context ) ); + } + + /** + * @param $context ResourceLoaderContext + * @return string: Hash + */ + public function getModifiedHash( ResourceLoaderContext $context ) { + global $wgLogo; + return md5( parent::getModifiedHash( $context ) . $wgLogo ); + } + /** * Gets group name *